package com.bw.produce.mapper;

import com.bw.produce.domain.Brand;
import com.bw.produce.query.BrandQueryObject;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author lemon
 * @date 2024/11/12 21:36
 **/
@Mapper
public interface BrandMapper {
    /**
     * 查询所有
     * @return 品牌集合
     * @param queryParams 查询参数
     */
    List<Brand> selectAll(BrandQueryObject queryParams);

    /**
     * 通过品牌名称查询
     * @param brandName 品牌名称
     * @return 是否存在
     */
    int selectByBrandName(String brandName);

    /**
     * 插入数据
     * @param brand 品牌信息
     * @return sql影响条数
     */
    int insert(Brand brand);

    /**
     * 修改数据
     * @param brand 品牌信息
     * @return sql影响条数
     */
    int update(Brand brand);

    /**
     * 通过id删除
     * @param brandId 品牌id
     * @return sql影响条数
     */
    int deleteById(Long brandId);

    /**
     * 通过第查询
     * @param brandId 品牌id
     * @return 是否存在
     */
    int selectById(Long brandId);

    /**
     * 查询当
     * @param brandId
     * @return
     */
    Brand selectInfo(Long brandId);

    /**
     * 通过品牌id删除
     * @param brandId 品牌id
     */
    void deleteByIds(@Param("brandId") Long[] brandId);

    /**
     * 修改制造商状态
     * @param brandId 品牌id
     */
    void updateManufacturer(Long brandId);

    /**
     * 修改是否显示
     * @param brandId 品牌id
     */
    void updateReveal(Long brandId);
}
